package it.uniroma2.art.coda.interfaces;

import it.uniroma2.art.coda.structures.BindLabelToExistingARTURIResource;
import it.uniroma2.art.coda.structures.SelectedProjectionRules;

/**
 * @author Andrea Turbati
 */
public abstract class IdentityResolverInterface extends CODAExtensionModuleInterface{

	protected SelectedProjectionRules selProjRules;
	
	public IdentityResolverInterface(String id, String description) {
		super(id, description);
	}
	
	/**
	 * Set the selected projection rules decided by the Projection Disambiguation Annotation module
	 * @param selProjRules the Hints produced by the Porjection Dismbiguation Annotation
	 */
	public void setSelectedProjRules(SelectedProjectionRules selProjRules){
		this.selProjRules = selProjRules;
	}
	
	/**
	 * This method must be implemented by all the modules that implement this abstract class
	 * @return list of Hints
	 */
	public abstract BindLabelToExistingARTURIResource invokeComponent();
	
}
